//package com.hitqz.robot.driver.netty.protocol.encoder;
//
//import com.hitqz.robot.api.common.util.ByteUtil;
//import com.hitqz.robot.driver.netty.protocol.message.KcMessage;
//import io.netty.buffer.ByteBuf;
//import io.netty.channel.ChannelHandlerContext;
//import io.netty.handler.codec.MessageToByteEncoder;
//import lombok.extern.slf4j.Slf4j;
//
///**
// * @author xupkun
// * @date 2023/8/4
// */
//@Slf4j
//public class KcEncoder extends MessageToByteEncoder<KcMessage> {
//
//    @Override
//    protected void encode(ChannelHandlerContext channelHandlerContext, KcMessage message, ByteBuf byteBuf) throws Exception {
//        // 协议授权码
//        byteBuf.writeBytes(KcMessage.license);
//
//        // 版本协议
//        byteBuf.writeByte(KcMessage.version);
//
//        // 请求报文
//        byteBuf.writeByte(message.getType());
//
//        // 序号
//        byteBuf.writeBytes(ByteUtil.shortToByteLittle(message.getSequence()));
//
//        // 服务码
//        byteBuf.writeByte(KcMessage.serviceCode);
//
//        // 命令码
//        byteBuf.writeByte(message.getCmd());
//
//        // 执行码
//        byteBuf.writeByte(message.getExecuteCode());
//
//        // 保留位1
//        byteBuf.writeByte(KcMessage.reserve1);
//
//        // 数据长度
//        byteBuf.writeBytes(ByteUtil.shortToByteLittle(message.getDataLength()));
//
//        // 保留位2
//        byteBuf.writeBytes(KcMessage.reserve2);
//
//        // 数据
//        if (message.getData().length!=0) {
//            byteBuf.writeBytes(message.getData());
//        }
//
//    }
//
//}
